using CodeSaude.Domain.Entities;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity.ModelConfiguration;

namespace CodeSaude.Infrastructure.Data.EntityConfig
{
    public class transcricao_atendimentoMap : EntityTypeConfiguration<TranscricaoAtendimento>
    {
        public transcricao_atendimentoMap()
        {
            // Primary Key
            this.HasKey(t => t.TranscricaoAtendimentoId);

            // Properties
            this.Property(t => t.nome_especialista)
                .HasMaxLength(255);

            this.Property(t => t.crm_especialista)
                .HasMaxLength(40);

            // Table & Column Mappings
            this.ToTable("transcricao_atendimento");
            this.Property(t => t.TranscricaoAtendimentoId).HasColumnName("id_transcricao");
            this.Property(t => t.id_registro).HasColumnName("id_registro");
            this.Property(t => t.id_especialidade).HasColumnName("id_especialidade");
            this.Property(t => t.id_profissional).HasColumnName("id_profissional");
            this.Property(t => t.id_situacao).HasColumnName("id_situacao");
            this.Property(t => t.data_criacao).HasColumnName("data_criacao");
            this.Property(t => t.Usuario_criacao).HasColumnName("Usuario_criacao");
            this.Property(t => t.data_alteracao).HasColumnName("data_alteracao");
            this.Property(t => t.Usuario_alteracao).HasColumnName("Usuario_alteracao");
            this.Property(t => t.nome_especialista).HasColumnName("nome_especialista");
            this.Property(t => t.crm_especialista).HasColumnName("crm_especialista");
            this.Property(t => t.data_receita).HasColumnName("data_receita");

            // Relationships
            //this.HasRequired(t => t.registro_atendimento)
            //    .WithMany(t => t.transcricao_atendimento)
            //    .HasForeignKey(d => new { d.id_registro, d.id_especialidade });

        }
    }
}
